var _fQcQty = "";
$(function(){
	initFirstCheckTable();
	initCheckListTable("");
});
/*
 * @Description: 扫入派工单号按回车事件
 * @param :
 */
$("#fCode").keypress(function(event){
	if(event.keyCode == "13"){
		getInfo();
		initFirstCheckTable();
	}
});
/*
 * @Description: 初始化首检记录表 
 * @param :  
 */
function initFirstCheckTable() {
	$('#listTable').bootstrapTable('destroy').bootstrapTable({
		url : pathUrl("ipqc/fPendingQcList.action?fSjFlag=1"),//请求后台的URL
		height : $(window).height()*0.6,//行高
		method : "POST",//请求方式
		//striped : true,//是否显示行间隔色
		cache : false,//是否使用缓存，默认为true
//		pagination : true,//是否显示分页
//		clickToSelect : true,//是否启用点击选中行
//		singleSelect : true,//是否单选
//		pageNumber : 1,//初始化加载第几页
//		pageSize : 10,//每页的记录行数
		sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
//		pageList : [ 10, 25, 50, 100, 'ALL' ],// 分页方式：client客户端分页，server服务端分页
		queryParams : function(params) {//传递参数
			var data= {}, fWorker;			
			data.offset = params.offset;
			data.row = 1000000;
//			data.row = params.limit;
			
//			data.fWorkcenterID = $("#fWorkShopId").val();//工作中心
			data.fCode =  $("#fCode").val();//派工单号
//			data.fBillNo =  $("#fBillNo").val();//任务单号
//			data.fNumber =  $("#fNumber").val();//物料代码
//			data.fName =  $("#fName").val();//物料名称
//			data.fModel =  $("#fModel").val();//规格型号
//			data.fOperSN =  $("#fOperSN").val();//工序号
//			data.startTime =  $("#startTime").val();//开工时间
//			data.endTime =  $("#endTime").val();//开工时间
//			data.fOperName =  $("#fOperName").val();//工序名称
//			data.fWorker =  $("#fWorker").val();//操作工卡号
			return data;
		},
		dataType : 'JSON',//数据类型
		uniqueId : "id",//每一行的唯一标识，一般为主键列
		columns : [
		{
			field : "fCode",
			align : 'left',
			valign: 'middle',
			sortable : true,
			title : '派工单号',
			edit : false
		}/*, {
			field : "fNumber",
			align : 'left',
			valign: 'middle',
			sortable : true,
			title : '物料代码',
			edit : false
		}, {
			field : "fName",
			align : 'left',
			valign: 'middle',
			sortable : true,
			title : '物料名称',
			edit : false
		}*/, {
			field : "fModel",
			align : 'left',
			valign: 'middle',
			sortable : true,
			title : '规格型号',
			edit : false
		}/*, {
			field : "fOperSN",
			align : 'left',
			valign: 'middle',
			sortable : true,
			title : '工序号',
			edit : false
		}, {
			field : "fOperName",
			align : 'left',
			valign: 'middle',
			sortable : true,
			title : '工序名称',
			edit : false
		}, {
			field : "fTargetQty",
			align : 'left',
			valign: 'middle',
			sortable : true,
			title : '派工数量',
			edit : false
		}, {
			field : "fMachine",
			align : 'left',
			valign: 'middle',
			sortable : true,
			title : '设备名称',
			edit : false
		}, {
			field : "fDate",
			align : 'center',
			valign: 'middle',
			sortable : true,
			title : '开工时间',
			formatter : dateFormatter,
			edit : false			
		}, {
			field : "fWorkerName",
			align : 'center',
			valign: 'middle',
			sortable : true,
			title : '操作工',
			edit : false				
		}, {
			field : "fWorkcenter",
			align : 'center',
			valign: 'middle',
			sortable : true,
			title : '工作中心',
			edit : false				
		}*/, {
			field : 'operate',//如需导出execl field必填operate，否则操作行会被导出
			align : 'center',
			valign: 'middle',
			title : '操作',
			formatter : function(value,row,index){
				return '<button type="button" class="btn btn-default pick" style="font-size:13px;margin-right:5px;">质检</button>';
			},
			events : operateEvents,
			edit : false
		}],
		onClickRow : function(row, $element) {//行单击
			
		}
	});
	$('#firstCheckTable').bootstrapTable('resetWidth');
}
/*
 * @Description: 获取数据方法
 * @param :
 */
function getInfo(){
	$.ajax({
		url : pathUrl("ipqc/fPendingQcList.action"),
		type : 'POST',
		dataType : "JSON",
		data : {
			"fSjFlag" : 1,
			"row" : 100000,
			"fCode" : $("#fCode").val()
		},
		success : function(data) {
//			console.log(data)
			if(data.code == "0000"){
//				_fQcQty = 
//			    $("#fModel").text(data.rows[0].fModel);
//			    $("#fTargetQty").text(_fQcQty);
			    writeInfo(data.rows[0]);
			    
			}else{
				swal_Tips(data.message);
				$("#fCode").val("");
				$("#fCode").focus();
			}
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 写入数据
 * @param :
 */
function writeInfo(data){
//	console.log(data)
	for (x in data) {//往span里写值
		key = x;
		value = data[x] == null?"":data[x];
		$("#"+key).text(value);
		$("#"+key).val(value);
	}
	$("#fOper").text(data.fOperSN + "(" + data.fOperName + ")");
	initCheckListTable(data.fTargetQty);
}

/*
 * @Description: 新增检查项钮点击事件
 * @param :
 */
$("#addCheck").click(function() {
	/*var fCode = $("#fCode").val();
	if(fCode == ""){
		swal_Tips("请先刷入派工单号！");
		return false;
	}*/
	$('#checkListTable').bootstrapTable('append',{"fName":"专检","fIsNgObj":0,"fQcQty":_fQcQty ,"fNGQty":0});
});
/*
 * @Description: 初始化检查项表
 * @param : 
 */
function initCheckListTable(value){
	var datas =[];
	if(value != ""){
		datas[0]={"fName":"专检","fIsNgObj":1,"fStandardValue":"","fUpperLimit":"","fLowerLimit":"","fActualValue":"","fQcQty":value,"fNGQty":"","fNote":""};
	}
	/*datas[1]={"fName":"专检","fIsNgObj":2,"fStandardValue":"","fUpperLimit":"","fLowerLimit":"","fActualValue":"","fQcQty":1,"fNGQty":0,"fNote":""};
	datas[2]={"fName":"专检","fIsNgObj":4,"fStandardValue":"","fUpperLimit":"","fLowerLimit":"","fActualValue":"","fQcQty":1,"fNGQty":0,"fNote":""};	*/
	$('#checkListTable').bootstrapTable('destroy').bootstrapTable({
		dataType : 'JSON',//数据类型
		uniqueId : "id",//每一行的唯一标识，一般为主键列
		columns : [
		{
			field : "fIsNgObj",
			align : 'center',
			valign: 'middle',
			//sortable : true,
			title : '不良品类型',
			edit:{
				type:'select',//下拉框
				data:[{id:0,text:'无不良品'},{id:1,text:'工废'},{id:2,text:'料废'},{id:3,text:'返修'},{id:4,text:'次品'}],
    			valueField:'id',
    			textField:'text',
    			onSelect:function(val,rec){
//    				console.log(val,rec);
    				var $tr = $(this)[0].$el.closest("tr");
			    	var index = $tr.data('index');
			    	var row = {};
			    	var fNGQty = "";
			    	if(val == 0){
			    		fNGQty = 0;
			    	}
			    	row.fNGQty = fNGQty;
			    	row.fIsNgObj = val;
			    	$('#checkListTable').bootstrapTable('updateRow',{index: index,row:row});
    			}
    		},
			width : '10%'
		},{
			field : "fStandardValue",
			align : 'center',
			title : '标准值',
			width : '6%',
			//sortable : true,
			valign: 'middle'
		}/*,{
			field : "fUpperLimit",
			align : 'center',
			valign: 'middle',
			width : '5%',
			title : '上限'
		},{
			field : "fLowerLimit",
			align : 'center',
			valign: 'middle',
			width : '5%',
			title : '下限'
		},{
			field : "fActualValue",
			align : 'center',
			valign: 'middle',
			width : '25%',
			title : '实测值'
		}*/,{
			field : "fQcQty",
			align : 'center',
			valign: 'middle',
			width : '6%',
			title : '检验数'
		},{
			field : "fNGQty",
			align : 'center',
			valign: 'middle',
			width : '6%',
			title : '不良品'
		}/*,{
			field : "fNote",
			align : 'center',
			valign: 'middle',
			width : '15%',
			title : '说明'
		}*/,{
			field : 'operate',//如需导出execl field必填operate，否则操作行会被导出
			align : 'center',
			valign: 'middle',
			width : '5%',
			title : '操作',
			formatter : function(value,row,index){
				return '<button type="button" class="btn btn-danger delete" style="font-size:13px;margin-right:5px;">删除</button>';
			},
			events : operateEvents,
			edit : false
		}],
		data : datas
	});
}

/*
 * @Description: 表操作事件
 * @param :
 */
window.operateEvents= {
	'click .delete' : function(e, value, row, index) {//删除按钮点击事件
		showSwal(
			'删除',
			'您确定删除这条检查项吗？',
			'确定',
			function(result){//isConfirm 点击确定按钮，参数true/false
				if(result.value){
					$("#checkListTable").bootstrapTable('removeRow',index);
				}
			}
		);
	},
	'click .pick' : function(e, value, row, index) {//质检按钮点击事件	
		writeInfo(row);
		$(".listTable").hide();		
		$(".checkTable").show();		
	},
}
/*
 * @Description: 确定按钮点击事件
 * @param :
 */
$("#determine").click(function(){
	var isEmpty = true;
	var checkListData = $("#checkListTable").bootstrapTable('getData');
	var length = checkListData.length;//获取检查项列表里有几条数据
	var sum = 0;//各个检验数合计
	checkDatas = [];
	if(checkListData.length == 0){
		swal_Tips('请添加检查项！');
		return false;
	}
	$.each(checkListData,function(i,value){
		if(value.fName != "" || i == 0){
			isEmpty = false;
			var fQcQty = value.fQcQty;
			var fNGQty = value.fNGQty;
			var fIsNgObj = value.fIsNgObj;
			if(fQcQty === ""){
				swal_Tips('检验数不能为空！');
				return false;
			}
			fQcQty = parseFloat(fQcQty);
			if(isNaN(fQcQty)){
				swal_Tips('请输入正确的检验数！');
				return false;
			}
			if(fQcQty == 0){
				swal_Tips('检验数不能为0！');
				return false;
			}		
			if(fQcQty > fPassQty){
				swal_Tips('检验数不能大于派工数量！');
				return false;
			}
			fNGQty = parseFloat(fNGQty);
			if(fNGQty === ""){
				swal_Tips('不良品不能为空！');
				return false;
			}
			if(isNaN(fNGQty)){
				swal_Tips('请输入正确的不良品！');
				return false;
			}
			if(fNGQty > fQcQty){
				swal_Tips('不良品不能大于检验数！');
				return false;
			}
			if(fIsNgObj == "无不良品"){
				value.fIsNgObj = 0; 
			}
			checkDatas[i] = value;
			sum += fNGQty;
		}
		if(i == length-1){
			if(sum > fPassQty){
				swal_Tips('不良品合计不能大于派工数量！');
				return false;
			}
			$("#firstCheckingModal").modal('hide');
			$("#inputCardModal").modal('show');
		}
	});
	if(isEmpty){
		swal_Tips('请输入检查项目！');
		return false;
	}
	getSubmit();
})
/*
 * @Description: 清空按钮点击事件
 * @param :
 */
$("#empty").click(function(){
	emptyInfo();
})
/*
 * @Description: 返回按钮点击事件
 * @param :
 */
$("#goback").click(function(){
	$(".listTable").show();
	$(".checkTable").hide();
	initFirstCheckTable();
})
/*
 * @Description: 表操作事件
 * @param :
 */
function emptyInfo(){
	$(".clean_c").val("");
	$(".clean_c").text("");
	initFirstCheckTable();
	initCheckListTable("");
}
/*
 * @Description: 提交方法
 * @param :
 */
function getSubmit(){
	showLoading();
	$.ajax({
		url : pathUrl("ipqc/shouJian.action"),
		type : 'POST',
		dataType : "JSON",
//		data : $("#checkingForm").serializeObject() + '&' + $.param({'fWorker': fWorker,'fWorkerName' : fWorkerName,'fStartWorkId':fStartWorkId}) + '&' + $.param({'datas': JSON.stringify(checkDatas)}),
		data : {
			'fCode' : $("#fCode").val(),//派工单号
			'fNumber' : $("#fNumber").text(),//产品代码
			'fModel' : $("#fModel").text(),//型号
			'fName' : $("#fName").text(),//产品名称
			'fOperSN' : $("#fOperSN").text(),//工序号
			'fOperName' : $("#fOperName").text(),//工序名称
			'fWorker' : $("#fWorker").text(),//质检人ID
			'fWorkerName' : $("#fWorkerName").text(),//质检人姓名
			'datas' : JSON.stringify(checkDatas)//质检项
		},
		success : function(data) {
//			console.log(data)
			if(data.code == "0000"){
				swal_Tips_Short(data.message);
				emptyInfo();
			}else{
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}